home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QRZ! Ham Radio 6
/
QRZ Ham Radio Callsign Database - Volume 6.iso
/
mac
/
files
/
amiga
/
csrc720j.lzh
/
mbport.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-01-24
|
6KB
|
129 lines
/*
* MBPORT.H - 6/20/89 - Definitions for MailBox ports.
*/
extern word p_window; /* Port bit mask */
extern word c_flag; /* Port command bit */
extern word b_flag; /* Port busy bit */
/*
* Device connected to the port. (port->dev)
*/
#define p_serial 1 /* Device is "raw" serial, another computer */
#define p_tnc 2 /* Device is a tnc with TAPR commands */
#define p_console 3 /* Device is the local machine console */
#ifdef MCH_AMIGA
#define p_nulmdm 4 /* Device is a null modem to another machine*/
#endif
/*
* Permissions associated with the port. (port->priv)
*/
#define p_bbs 0x0001 /* Only BBS may connect to this port */
#define p_ilcal 0x0002 /* Illegal call kicked off */
#define p_ildig 0x0004 /* Illegal digi call no no (not imp) */
#define p_mon 0x0008 /* Monitoring ok */
#define p_gate 0x0010 /* Gateway out from this port ok */
#define p_sysop 0x0020 /* Remote sysop allowed (IF user can) */
#define p_upload 0x0040 /* Upload allowed from this port */
#define p_dnload 0x0080 /* Download allowed from this port */
/*
* Port Mode values. (port->mode)
*/
#define sysop 0x0001 /* User is sysop */
#define local 0x0002 /* User is local machine console */
#define remote 0x0004 /* User is not sysop */
#define idle 0x0010 /* The port is idle */
#define discon 0x0020 /* User has disconnected, but not logged out */
#define timeout 0x0040 /* User timed out, but not yet logged out */
#define exclude 0x0080 /* User excluded, but not yet logged out */
#define logout 0x0100 /* User did "B", but not yet logged out */
#define forced 0x0200 /* User forced off, but not yet logged out */
#define all (local | remote | sysop)
#define ops (local | sysop)
#define gone (discon | timeout | forced)
/*
* Port flags. (port->flags)
*/
#define p_dotmr 0x0001 /* Set the input timeout in getdat */
#define p_dofwd 0x0002 /* "forward for this port now" */
#define p_clrsys 0x0004 /* Must clear sysop mode on exit if discon*/
#define p_req 0x0008 /* Had a connect request */
#define p_give 0x0010 /* Ok to give time to DD on I/O */
#define p_echo 0x0020 /* Need to echo input to user */
#define p_lf 0x0040 /* This port needs LF after CR */
#define p_opreq 0x0080 /* Local console wants to int user */
#define p_term 0x0100 /* Port was used as terminal */
#define p_trans 0x0200 /* Port in transparent mode */
typedef struct ports_s
{
struct ports_s *next; /* Next port */
struct ports_s *lport; /* Port this one linked to or NULL */
char id; /* Identifies port to user */
byte idn; /* Identifies port to op sys */
byte dev; /* Device connected to the port */
byte ndigi; /* # digi allowed on connect */
word flags; /* Flags */
word priv; /* What can you do from this port */
word mode; /* Present state of the port */
word ctime; /* "Waiting for input" timeout, seconds */
word dtime; /* "Waiting for disconnect" timeout, sec */
byte errmax; /* Allowed command errors before kick off */
byte errors; /* Number of errors user has made */
char *name; /* Name of the port */
byte ec; /* Echo TNC to console? */
byte ecmon; /* Echo to console while monitoring? */
byte ecuser; /* Echo to user / forward to console? */
byte eccmds; /* Echo TNC commands to console? */
byte tmode; /* Transparent mode used by TNC */
word ftime; /* Forward timeout time */
word mtime; /* Allowed monitor time */
word mcount; /* Lines allowed in monitor */
byte maxhrd; /* Max on heard list */
byte nhrd; /* # presently on heard list */
char *heard; /* Pointer to calls heard list */
byte fwdmin; /* Minute of the hour to forward */
char rcall[ln_call];
/* Task stuff. Doesn't really belong here, but saves an indirect. */
long itime; /* Time when wait for input times out */
long expire; /* Time at which we time this out */
byte flds; /* # fields in current command */
char *fld[maxflds]; /* Pointers to the start of fields in cmd */
char *cmd; /* The command field text */
char *line; /* Text line last collected */
char opt1; /* Major command id */
char opt2; /* Minor command id */
word cmdcnt; /* # commands done since login */
FILE *fl; /* For any file required */
char *msg; /* Error msg before prompt, or NULL */
struct user_s *user; /* Pointer to user record */
struct msg_hdr_s *mmhs;/* Pointer to message header record */
} PORTS;
/*
* porthd is the list header.
* port is the currently active port.
* cport is the machine console.
* pipeid is the local end of the pipe.
*/
extern int pipeid;
extern PORTS *porthd, *port, *cport;
extern PORTS *findport();